Sensu : Add Check Plugins#1
2017/10/25 |
Sensu has only keepalive monitoring item by defalt, so if you'd like to add more items install plugin.
You can search many Plugins on Sensu Plugins Project below.
⇒ https://github.com/sensu-plugins/ |
|
[1] | For example, install CPU check plugin. Install plugin on all nodes you'd like to monitor. |
[root@dlp ~]#
yum -y groups install "Development Tools" # install cpu-checks [root@dlp ~]# sensu-install -p cpu-checks [SENSU-INSTALL] installing Sensu plugins ... [SENSU-INSTALL] determining if Sensu gem 'sensu-plugins-cpu-checks' is already installed ... false [SENSU-INSTALL] Sensu plugin gems to be installed: ["sensu-plugins-cpu-checks"] [SENSU-INSTALL] installing Sensu gem 'sensu-plugins-cpu-checks' Fetching: linux-kstat-0.1.3-universal-linux.gem (100%) Successfully installed linux-kstat-0.1.3-universal-linux Fetching: sensu-plugins-cpu-checks-1.1.2.gem (100%) You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu Successfully installed sensu-plugins-cpu-checks-1.1.2 2 gems installed [SENSU-INSTALL] successfully installed Sensu plugins: ["sensu-plugins-cpu-checks"] # possible to make sure included tools [root@dlp ~]# ll /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-plugins-cpu-checks-1.1.2/bin total 32 -rwxr-xr-x. 1 root root 4100 Oct 26 11:57 check-cpu.rb -rwxr-xr-x. 1 root root 1658 Oct 26 11:57 check-cpu.sh -rwxr-xr-x. 1 root root 1998 Oct 26 11:57 metrics-cpu-mpstat.rb -rwxr-xr-x. 1 root root 2236 Oct 26 11:57 metrics-cpu-pcnt-usage.rb -rwxr-xr-x. 1 root root 1729 Oct 26 11:57 metrics-cpu.rb -rwxr-xr-x. 1 root root 1212 Oct 26 11:57 metrics-numastat.rb -rwxr-xr-x. 1 root root 1964 Oct 26 11:57 metrics-user-pct-usage.rb # for running tools, specify the one under /opt/sensu/embedded/bin [root@dlp ~]# /opt/sensu/embedded/bin/check-cpu.rb -h Usage: /opt/sensu/embedded/bin/check-cpu.rb (options) --cache-file CACHEFILE -c CRIT --guest Check cpu guest instead of total cpu usage --guest_nice Check cpu guest_nice instead of total cpu usage --idle Check cpu idle instead of total cpu usage --idle-metrics METRICS Treat the specified metrics as idle. Defaults to idle, iowait,steal,guest,guest_nice --iowait Check cpu iowait instead of total cpu usage --irq Check cpu irq instead of total cpu usage -l, --less_than Change whether value is less than check --nice Check cpu nice instead of total cpu usage --proc-path /proc --sleep SLEEP --softirq Check cpu softirq instead of total cpu usage --steal Check cpu steal instead of total cpu usage --system Check cpu system instead of total cpu usage --user Check cpu user instead of total cpu usage -w WARN |
[2] | Configure plugin on Sensu Server. |
[root@dlp ~]#
vi /etc/sensu/conf.d/check-cpu.json # CPU Usage 80% of Warning, 90% of Critical # for [subscribers], specify the one set for [subscriptions] on each node # example below means all nodes which has [development] word for [subscriptions] are targeted { "checks": { "cpu_check": { "command": "check-cpu.rb -w 80 -c 90", "subscribers": [ "development" ], "interval": 60 } } } systemctl restart sensu-server sensu-api |
[3] | Access to Uchiwa Dashboard and verify new target item is shown normally. |
[4] | If the value is over from threshold, warning is displayed. |
[5] | It's possible to check not from Sensu server but on Client node itself. Then, create a conf file on client node and specify [standalone: true] in it like follows. |
# install disk-checks [root@node01 ~]# sensu-install -p disk-checks
[root@node01 ~]#
vi /etc/sensu/conf.d/check-disk-usage.json # if check on client itself, specify standalone: true { "checks": { "disk_check": { "command": "check-disk-usage.rb -w 70 -c 80", "standalone": true, "interval": 600 } } } systemctl restart sensu-client |